home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / pcl / sptmbr11.lha / clx / excldefsys.lisp < prev    next >
Lisp/Scheme  |  1991-11-06  |  6KB  |  187 lines

  1. ;;; -*- Mode: common-lisp; Package: xlib; Base: 10; Lowercase: Yes -*-
  2. ;;;
  3. ;;; Copyright (c) 1988, 1989 Franz Inc, Berkeley, Ca.
  4. ;;;
  5. ;;; Permission is granted to any individual or institution to use, copy,
  6. ;;; modify, and distribute this software, provided that this complete
  7. ;;; copyright and permission notice is maintained, intact, in all copies and
  8. ;;; supporting documentation.
  9. ;;;
  10. ;;; Franz Incorporated provides this software "as is" without express or
  11. ;;; implied warranty.
  12. ;;;
  13.  
  14. (in-package :xlib :use '(:foreign-functions :lisp :excl))
  15.  
  16. #+allegro
  17. (require :defsystem "defsys")
  18.  
  19. (eval-when (load)
  20.   (require :clxexcldep "excldep"))
  21.  
  22. ;;
  23. ;; The following is a suggestion.  If you comment out this form be
  24. ;; prepared for possible deadlock, since no interrupts will be recognized
  25. ;; while reading from the X socket if the scheduler is not running.
  26. ;;
  27. (setq compiler::generate-interrupt-checks-switch
  28.   (compile nil '(lambda (safety size speed)
  29.            (declare (ignore size))
  30.           (or (< speed 3) (> safety 0)))))
  31.  
  32.  
  33. #+allegro
  34. (excl:defsystem :clx
  35.     ()
  36.   |depdefs|
  37.   (|clx| :load-before-compile (|depdefs|)
  38.      :recompile-on (|depdefs|))
  39.   (|dependent| :load-before-compile (|depdefs| |clx|)
  40.            :recompile-on (|clx|))
  41.   (|exclcmac| :load-before-compile (|depdefs| |clx| |dependent|)
  42.           :recompile-on (|dependent|))
  43.   (|macros| :load-before-compile (|depdefs| |clx| |dependent| |exclcmac|)
  44.         :recompile-on (|exclcmac|))
  45.   (|bufmac| :load-before-compile (|depdefs| |clx| |dependent| |exclcmac|
  46.                         |macros|)
  47.         :recompile-on (|macros|))
  48.   (|buffer| :load-before-compile (|depdefs| |clx| |dependent| |exclcmac|
  49.                         |macros| |bufmac|)
  50.         :recompile-on (|bufmac|))
  51.   (|display| :load-before-compile (|depdefs| |clx| |dependent| |exclcmac|
  52.                          |macros| |bufmac| |buffer|)
  53.          :recompile-on (|buffer|))
  54.   (|gcontext| :load-before-compile (|depdefs| |clx| |dependent| |exclcmac|
  55.                           |macros| |bufmac| |buffer|
  56.                           |display|)
  57.           :recompile-on (|display|))
  58.   (|input| :load-before-compile (|depdefs| |clx| |dependent| |exclcmac|
  59.                        |macros| |bufmac| |buffer| |display|
  60.                        )
  61.        :recompile-on (|display|))
  62.   (|requests| :load-before-compile (|depdefs| |clx| |dependent| |exclcmac|
  63.                           |macros| |bufmac| |buffer|
  64.                           |display| |input|)
  65.           :recompile-on (|display|))
  66.   (|fonts| :load-before-compile (|depdefs| |clx| |dependent| |exclcmac|
  67.                        |macros| |bufmac| |buffer| |display|
  68.                        )
  69.        :recompile-on (|display|))
  70.   (|graphics| :load-before-compile (|depdefs| |clx| |dependent| |exclcmac|
  71.                           |macros| |bufmac| |buffer|
  72.                           |display| |fonts|)
  73.           :recompile-on (|fonts|))
  74.   (|text| :load-before-compile (|depdefs| |clx| |dependent| |exclcmac| |macros|
  75.                       |bufmac| |buffer| |display|
  76.                       |gcontext| |fonts|)
  77.       :recompile-on (|gcontext| |fonts|)
  78.       :load-after (|translate|))
  79.   ;; The above line gets around a compiler macro expansion bug.
  80.   
  81.   (|attributes| :load-before-compile (|depdefs| |clx| |dependent| |exclcmac|
  82.                         |macros| |bufmac| |buffer|
  83.                         |display|)
  84.         :recompile-on (|display|))
  85.   (|translate| :load-before-compile (|depdefs| |clx| |dependent| |exclcmac|
  86.                            |macros| |bufmac| |buffer|
  87.                            |display| |text|)
  88.            :recompile-on (|display|))
  89.   (|keysyms| :load-before-compile (|depdefs| |clx| |dependent| |exclcmac|
  90.                          |macros| |bufmac| |buffer|
  91.                          |display| |translate|)
  92.          :recompile-on (|translate|))
  93.   (|manager| :load-before-compile (|depdefs| |clx| |dependent| |exclcmac|
  94.                          |macros| |bufmac| |buffer|
  95.                          |display|)
  96.          :recompile-on (|display|))
  97.   (|image| :load-before-compile (|depdefs| |clx| |dependent| |exclcmac|
  98.                        |macros| |bufmac| |buffer| |display|
  99.                        )
  100.        :recompile-on (|display|))
  101.   
  102.   ;; Don't know if l-b-c list is correct.  XX
  103.   (|resource| :load-before-compile (|depdefs| |clx| |dependent| |exclcmac|
  104.                           |macros| |bufmac| |buffer|
  105.                           |display|)
  106.           :recompile-on (|display|))
  107.   )
  108.  
  109. #+allegro
  110. (excl:defsystem :clx-debug
  111.     (:default-pathname "debug/"
  112.      :needed-systems (:clx)
  113.      :load-before-compile (:clx))
  114.   |describe| |keytrans| |trace| |util|)
  115.  
  116.  
  117. (defun compile-clx (&optional pathname-defaults)
  118.   (let ((*default-pathname-defaults*
  119.       (or pathname-defaults *default-pathname-defaults*)))
  120.     (declare (special *default-pathname-defaults*))
  121.     (compile-file "depdefs")
  122.     (load "depdefs")
  123.     (compile-file "clx")
  124.     (load "clx")
  125.     (compile-file "dependent")
  126.     (load "dependent")
  127.     (compile-file "macros")
  128.     (load "macros")
  129.     (compile-file "bufmac")
  130.     (load "bufmac")
  131.     (compile-file "buffer")
  132.     (load "buffer")
  133.     (compile-file "display")
  134.     (load "display")
  135.     (compile-file "gcontext")
  136.     (load "gcontext")
  137.     (compile-file "input")
  138.     (load "input")
  139.     (compile-file "requests")
  140.     (load "requests")
  141.     (compile-file "fonts")
  142.     (load "fonts")
  143.     (compile-file "graphics")
  144.     (load "graphics")
  145.     (compile-file "text")
  146.     (load "text")
  147.     (compile-file "attributes")
  148.     (load "attributes")
  149.     (load "translate")
  150.     (compile-file "translate")        ; work-around bug in 2.0 and 2.2
  151.     (load "translate")
  152.     (compile-file "keysyms")
  153.     (load "keysyms")
  154.     (compile-file "manager")
  155.     (load "manager")
  156.     (compile-file "image")
  157.     (load "image")
  158.     (compile-file "resource")
  159.     (load "resource")
  160.     ))
  161.  
  162.  
  163. (defun load-clx (&optional pathname-defaults)
  164.   (let ((*default-pathname-defaults*
  165.       (or pathname-defaults *default-pathname-defaults*)))
  166.     (declare (special *default-pathname-defaults*))
  167.     (load "depdefs")
  168.     (load "clx")
  169.     (load "dependent")
  170.     (load "macros")
  171.     (load "bufmac")
  172.     (load "buffer")
  173.     (load "display")
  174.     (load "gcontext")
  175.     (load "input")
  176.     (load "requests")
  177.     (load "fonts")
  178.     (load "graphics")
  179.     (load "text")
  180.     (load "attributes")
  181.     (load "translate")
  182.     (load "keysyms")
  183.     (load "manager")
  184.     (load "image")
  185.     (load "resource")
  186.     ))
  187.